// basicnpc.txt
// A very simple, naive text. Creature attacks anything it hates nearby.
// Once it has won, it returns to its home.
// Memory Cells:
//   Cell 0 - How creature moves.
//     0 - If 0, wander randomly. 
//     1 - Stands still until a target appears.
//     2 - Completely immobile, even if target appears.
//   Cell 1,2 - Stuff done flag. If both 0, nothing. Otherwise when this 
//     is killed, set to 1. (Example: If cell 1 is 3 and cell 2 is 5, when
//     creature is killed, sets SDF(3,5) to 1.)
//   Cell 3 - Dialogue node to start with if talked to. if left at 0, this
//     character doesn't talk.

begincreaturescript;

variables;

short i,target,dialog;

body;

beginstate INIT_STATE;
	if (get_memory_cell(0) == 2)
		set_mobility(ME,0);
	break;

beginstate DEAD_STATE;
	// Set the appropriate stuff done flag for this character being dead
	if ((get_memory_cell(1) != 0) || (get_memory_cell(2) != 0))
		set_flag(get_memory_cell(1),get_memory_cell(2),1);
break;

beginstate START_STATE; 
	// if I have a target for some reason, go attack it
	if (target_ok()) {
		if (dist_to_char(get_target()) <= 16)
			set_state(3);
			else set_target(ME,-1);
		}
	
	// Look for a target, attack it if visible
	if (select_target(ME,8,0)) {
		do_attack();
		set_state(3);
		}
		
	// Have I been hit? Strike back!
	if (who_hit_me() >= 0) {
		set_target(ME,who_hit_me());
		do_attack();
		set_state(3);
		}
		
	// Otherwise, just peacefully move around. Go back to start, if I'm too far
	// from where I started.
	if ((my_dist_from_start() >= 6) || ((my_dist_from_start() > 0) && (get_memory_cell(0) > 0))) {
		if (get_ran(1,1,100) < 40) 
			return_to_start(ME,1);
		}
		else if (get_memory_cell(0) == 0) {
			fidget(ME,25);
			}

	// if we're in combat and the above didn't give me anything to do, just
	// stop now. Otherwise, game will keep running script, and that eats up CPU time.
	if (am_i_doing_action() == FALSE)
		end_combat_turn();
break;

beginstate 3; // attacking
	if (target_ok() == FALSE)
		set_state(START_STATE);
	do_attack();
break;

beginstate TALKING_STATE;
	if(get_flag(2,1) == 51){
		message_dialog("Chief Licgan is in the Meeting Hall, meditating quietly.  He opens his eyes and stands up as you address him.","_Greetings, brave Speres.  Why are you not guarding the Holy Gate, and why is Wihsacer not with you?_");
		reset_dialog();
		add_dialog_str(0,"You tell him that Wihsacer has stolen the Aquos Gem, and has fled the tribe.  Licgan seems shocked, and also angered.",0);
		add_dialog_str(1,"_Are you sure?  You aren't pulling some sort of prank?_  You tell him that you aren't, and that you have witnesses who saw him leaving town.",0);
		add_dialog_str(2,"He sits down and puts his hand to his chin in contemplation.  _This is horrible news.  I had no idea that he had so much gall._",0);
		add_dialog_str(3,"_One thing must be done.  The Aquos Gem must be retrieved at any cost, or else we will be forsaken by the spirits.  We cannot let him leave the valley._",0);
		add_dialog_str(4,"_Even though you are one man short, you are still supposed to guard the Aquos Gem.  Speres, you must do this mission for the good of the tribe._",0);
		add_dialog_choice(0,"What must we do, sir?");
		dialog = run_dialog(1);
		reset_dialog();
		add_dialog_str(0,"_If Wihsacer stole the Aquos Gem, he must not be forgiven.  He has threatened everyone in this valley, and must not be allowed to return._",0);
		add_dialog_str(1,"_If he does not freely give you the Aquos Gem, then you must slay him.  Do it with honor, and let the fact that you are defending the honor and safety of your tribe console you._",0);
		add_dialog_str(2,"_Return when you have the Aquos Gem, and give it to Wiseman Barbarus, so that we may ritually place it back in its alcove as a repentance to the spirits._",0);
		add_dialog_str(3,"_Since this is a holy mission, you must pray before the Holy Mound to the east, where the spirits of dead warriors grant their blessings._",0);
		add_dialog_str(4,"_Also, approach Wiseman Barbarus, so that you may learn and prepare from his wisdom.  He knows much, hopefully you will learn from him._",0);
		add_dialog_str(5,"_May the spirits be with you, Speres.  I must go on pilgrimage to pray for your success.  Return successful in your goal._  Chief Licgan gets up, unsheathes his sword, and leaves the meeting hall.",0);
		add_dialog_choice(0,"Yes sir.");
		dialog = run_dialog(1);
		message_dialog("Your further questions will have to wait.","The chief grabs his claymore and axe and rushes off to pray for the safety of your tribe.");
		erase_char(8);
		
		set_flag(2,1,52);
		end();
	}
	else{
		print_str("Talking: It doesn't respond.");
		end();
	}
break;